CustomerAddFormCtl = Ext.extend(FormCtl, {

	configItems : function(config) {

		var s = cf.getC('s');

		var comTyepUrl = s.getUrl({
					resource : 'comtype.do',
					act : 'r'
				});

		var regionsUrl = s.getUrl({
					resource : 'regions.do',
					act : 'r'
				});

		var items = [

				this.getTextField('公司名称', 'customername', false),
				this.getTextField('电话', 'tel', false),
				this.getTextField('传真', 'fax', false),
				this.getTextField('地址', 'address', false),

				this.getTextField('网站', 'website', false),
				this.getTextField('二级部门', 'subdepartment', true),
				this.getCombobox('洲', 'continent', false, regionsUrl),
				this.getCombobox('国家', 'country', false, regionsUrl),
				this.getCombobox('城市', 'city', false, regionsUrl),

				this.getCombobox('公司属性', 'comtype', false, comTyepUrl),

				this.getTextField('姓名', 'contactorname', false),
				this.getCombobox('性别', 'contactgender', true, {
							items : [{
										key : 'm',
										value : '男'
									}, {
										key : 'f',
										value : '女'
									}]
						}),
				this.getTextField('职务', 'contactorposition', false),
				this.getTextField('电邮', 'contactoremail', false),
				this.getTextField('电话', 'contacttel', false),

				this.getTextField('手机', 'contactmobile', true),

				this.getTextArea('公司特点', 'comstyle', 100, 250),
				this.getTextArea('备注', 'remarks', 100, 250),
				this.getHiddenField('id'), this.getHiddenField('status')];

		this.items = items;

		var groupItems = [items[18], items[19], {
					xtype : 'fieldset',
					title : ' 公司信息',
					autoHeight : true,
					// height : 300,
					layout : 'column',
					items : [{
								columnWidth : .3,
								layout : 'form',// 第一列里面内容就是form排序了,从上到下
								items : [items[0], items[3], items[6], items[9]]
							}, {
								columnWidth : .4,
								layout : 'form',// 第一列里面内容就是form排序了,从上到下
								items : [items[1], items[4], items[7]]
							}, {
								columnWidth : .3,
								layout : 'form',// 第一列里面内容就是form排序了,从上到下
								items : [items[2], items[5], items[8]]
							}]
				}, {
					xtype : 'fieldset',
					title : '主要负责人',
					autoHeight : true,
					// height : 300,
					layout : 'column',
					items : [{
								columnWidth : .3,
								layout : 'form',// 第一列里面内容就是form排序了,从上到下
								items : [items[10], items[13]]
							}, {
								columnWidth : .4,
								layout : 'form',// 第一列里面内容就是form排序了,从上到下
								items : [items[11], items[14]]
							}, {
								columnWidth : .3,
								layout : 'form',// 第一列里面内容就是form排序了,从上到下
								items : [items[12], items[15]]
							}]
				}, {
					layout : 'column',
					items : [{
								columnWidth : .5,
								layout : 'form',// 第一列里面内容就是form排序了,从上到下
								items : items[16]
							}, {
								columnWidth : .5,
								layout : 'form',// 第一列里面内容就是form排序了,从上到下
								items : items[17]
							}]
				}

		];

		items[9].cbbStore.load();
		items[6].cbbStore.baseParams = {
			level : 1
		};
		items[6].cbbStore.load();

		items[6].on('select', this.selectRegion, this);
		items[7].on('select', this.selectCountry, this);

		config.items = groupItems;

		return config;

	},
	getCommonConfig : function() {

		var config = {
			split : true,
			autoScroll : true,
			labelAlign : 'right',
			labelWidth : 60,
			frame : true
		};

		return config;

	},
	configButtons : function(config) {

		return config;

	},
	getFormHeight : function() {

		return 280;

	},
	getSubmitUrl : function() {

		return 'customer.do?m=create';

	},
	getLoadUrl : function() {
		return 'customer.do?m=read';

	},
	getLoadParams : function(record) {
		return {
			id : record.get('id')
		}

	},
	configReader : function(config) {

		config.reader = new Ext.data.JsonReader({
					root : 'items'
				}, [{
							name : 'customername',
							mapping : 'customername',
							type : 'string'
						}, {
							name : 'tel',
							mapping : 'tel',
							type : 'string'
						}, {
							name : 'fax',
							mapping : 'fax',
							type : 'string'
						}, {
							name : 'address',
							mapping : 'address',
							type : 'string'
						}, {
							name : 'website',
							mapping : 'website',
							type : 'string'
						}, {
							name : 'subdepartment',
							mapping : 'subdepartment',
							type : 'string'
						}, {
							name : 'continent',
							mapping : 'continent',
							type : 'string'
						}, {
							name : 'country',
							mapping : 'country',
							type : 'string'
						}, {
							name : 'city',
							mapping : 'city',
							type : 'string'
						}, {
							name : 'comtype',
							mapping : 'comtype',
							type : 'string'
						}, {
							name : 'contactorname',
							mapping : 'contactorname',
							type : 'string'
						}, {
							name : 'contactgender',
							mapping : 'contactgender',
							type : 'string'
						}, {
							name : 'contactorposition',
							mapping : 'contactorposition',
							type : 'string'
						}, {
							name : 'contactoremail',
							mapping : 'contactoremail',
							type : 'string'
						}, {
							name : 'contacttel',
							mapping : 'contacttel',
							type : 'string'
						}, {
							name : 'contactmobile',
							mapping : 'contactmobile',
							type : 'string'
						}, {
							name : 'comstyle',
							mapping : 'comstyle',
							type : 'string'
						}, {
							name : 'remarks',
							mapping : 'remarks',
							type : 'string'
						}, {
							name : 'id',
							mapping : 'id',
							type : 'string'
						}])

		return config;

	},
	submitSuccess : function(from, action) {
		// Ext.example.msg('保存成功', '添加级别成功！');
		var cigc = cf.getC('cigc');
		cigc.reload();
	},
	getCbbStore : function(config, islocal, data) {

		var storeConfig = {
			root : "items",
			fields : ["key", "value"]
		}
		if (!islocal) {
			storeConfig.url = data;
		}

		var dataStore = new Ext.data.JsonStore(storeConfig);

		if (islocal) {
			dataStore.loadData(data);
		}

		config.valueField = 'key';
		config.displayField = 'value';

		config.store = dataStore; // [['f','Foo'],['b','Bar']];

		return config;

	},
	selectRegion : function(c, r, i) {

		var record = r;

		var items = this.items;

		items[7].cbbStore.baseParams = {
			level : 2
		};

		items[7].cbbStore.load({
					params : {
						parentid : r.get('key')
					}
				});

		items[7].reset();
		items[8].reset();

	},
	selectCountry : function(c, r, i) {

		var record = r;

		var items = this.items;

		items[8].cbbStore.baseParams = {
			level : 3
		};

		items[8].cbbStore.load({
					params : {
						parentid : r.get('key')
					}
				});
		items[8].reset();

	}

});
